home *** CD-ROM | disk | FTP | other *** search
- unit UnitFormListBase;
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ExtCtrls, Menus, Db, Grids, DBGrids, ActnList, ComCtrls, ToolWin,
- ImgList, UnitObjectBase, Buttons, UnitFormBase, UnitFrameResultSetBase;
-
- type
- TFormListBase = class;
- TFormListBaseClass = class of TFormListBase;
- TListSelectEvent = procedure(aFormList: TFormListBase) of object;
-
- TFormListBase = class(TFormBase)
- PanelListBaseBottom: TPanel;
- ButtonOkApply: TButton;
- ButtonCancelClose: TButton;
- PopupMenu: TPopupMenu;
- ActionList: TActionList;
- ActionApply: TAction;
- ActionClose: TAction;
- Open1: TMenuItem;
- PanelListBaseClientBackground: TPanel;
- ActionFind: TAction;
- Find1: TMenuItem;
- ToolBar1: TToolBar;
- PanelFilter: TPanel;
- BitBtnFind: TBitBtn;
- BitBtn2: TBitBtn;
- ToolButton1: TToolButton;
- ToolButton4: TToolButton;
- PanelListBaseApplyClose: TPanel;
- PanelListBaseGridBackground: TPanel;
- StatusBarAbstract: TStatusBar;
- ButtonListBaseApply: TButton;
- ButtonListBaseClose: TButton;
- ToolButton2: TToolButton;
- ToolButton3: TToolButton;
- ActionOpen: TAction;
- procedure ActionApplyExecute(Sender: TObject);
- procedure ActionFindExecute(Sender: TObject);
- procedure ActionCloseExecute(Sender: TObject);
- procedure ActionOpenExecute(Sender: TObject);
- procedure ActionOpenUpdate(Sender: TObject);
- private
- FOnListSelect: TListSelectEvent;
- protected
- procedure Apply;
- procedure Initializeform; override;
- procedure ClearWhereClause; virtual; // abstract
- function GetFrameResultSet: TFrameResultSetBase; virtual; abstract;
- public
- property OnListSelect: TListSelectEvent read FOnListSelect write FOnListSelect;
- function ShowModalPickListOKCancel: integer;
- function ShowModalPickListApplyClose: integer;
- end;
-
- implementation
-
- {$R *.DFM}
-
- var ClassVariableListOfSingletonLists: TList;
-
- { TFormList }
-
- procedure TFormListBase.Apply;
- begin
- if Assigned(OnListSelect)
- then OnListSelect(Self);
- end;
-
- //------------------------------------------------------------------------------
- function TFormListBase.ShowModalPickListApplyClose: integer;
- begin
- ActionApply.Caption := 'Apply';
- ButtonOkApply.ModalResult := mrNone;
- ButtonCancelClose.Caption := 'Close';
- PanelListBaseBottom.Visible := TRUE;
- StatusBarAbstract.SizeGrip := FALSE;
- Result := Self.ShowModal;
- end;
-
- function TFormListBase.ShowModalPickListOKCancel: integer;
- begin
- ActionApply.Caption := 'OK';
- ButtonOkApply.ModalResult := mrOK;
- ButtonCancelClose.Caption := 'Cancel';
- StatusBarAbstract.SizeGrip := FALSE;
- PanelListBaseBottom.Visible := TRUE;
- Result := Self.ShowModal;
- end;
- //------------------------------------------------------------------------------
-
- procedure TFormListBase.ActionApplyExecute(Sender: TObject);
- begin
- inherited;
- Apply;
- end;
-
- procedure TFormListBase.Initializeform;
- begin
- inherited;
- end;
-
- procedure TFormListBase.ActionFindExecute(Sender: TObject);
- begin
- inherited;
- GetFrameResultSet.ResultSetObject.RefreshResultSet;
- end;
-
- procedure TFormListBase.ClearWhereClause;
- begin
- end;
-
- procedure TFormListBase.ActionCloseExecute(Sender: TObject);
- begin
- inherited;
- ModalResult := mrCancel;
- end;
-
- procedure TFormListBase.ActionOpenExecute(Sender: TObject);
- begin
- inherited;
- GetFrameResultSet.OpenEntityForm;
- end;
-
- procedure TFormListBase.ActionOpenUpdate(Sender: TObject);
- begin
- inherited;
- ActionOpen.Enabled := not(GetFrameResultSet.ResultSetObject.IsEmpty);
- end;
-
- initialization
-
- ClassVariableListOfSingletonLists := TList.Create;
-
- finalization
-
- ClassVariableListOfSingletonLists.Free;
-
- end.
-